How to Write Seemingly Unhygieni and Referentially Opaque Ma ros with Syntax - rules

نویسنده

  • Oleg Kiselyov
چکیده

This paper details how folklore notions of hygiene and referential transparen y of R5RS ma ros are defeated by a systemati atta k. We demonstrate syntax-rules that seem to apture user identi ers and allow their own identi ers to be aptured by the losest lexi al bindings. In other words, we have written R5RS ma ros that a omplish what ommonly believed to be impossible. We build on the the fundamental te hnique by Petrofsky of extra ting variables from arguments of a ma ro. The present paper generalizes Petrofsky's idea to atta k referential transparen y. This paper also shows how to overload the lambda form. The overloaded lambda a ts as if it was infe ted by a virus, whi h propagates through the lambda's body infe ting other lambdas in turn. The virus re-de nes the ma ro being amou aged after ea h binding. This rede nition is the key insight in a hieving the overall referential opaqueness. Although we eventually subvert all binding forms, we preserve the semanti s of S heme as given in R5RS. The novel result of this paper is a demonstration that although R5RS ma ros are deliberately restri ted in expressiveness, they still wield surprising power. We have exposed faults and the la k of pre ision in ommonly held informal assertions about syntax-rule ma ros, and pointed out the need for proper formalization. For a pra ti al programmer this paper o ers an en ouragement: more and more powerful R5RS ma ros turn out to be possible.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

How to Write Seemingly Unhygienic and Referentially Opaque Macros with Syntax-rules

This paper details how folklore notions of hygiene and referential transparency of R5RS macros are defeated by a systematic attack. We demonstrate syntax-rules that seem to capture user identi ers and allow their own identi ers to be captured by the closest lexical bindings. In other words, we have written R5RS macros that accomplish what commonly believed to be impossible. We build on the the ...

متن کامل

When owl: sameAs Isn't the Same: An Analysis of Identity in Linked Data

In Linked Data, the use of owl:sameAs is ubiquitous in interlinking data-sets. There is however, ongoing discussion about its use, and potential misuse, particularly with regards to interactions with inference. In fact, owl:sameAs can be viewed as encoding only one point on a scale of similarity, one that is often too strong for many of its current uses. We describe how referentially opaque con...

متن کامل

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

On Indexical Reference: A Rejection of the Irreducibility Thesis

Thesis: Indexicals are not essential in the sense of being semantically irreducible; the arguments for the semantic irreducibility of indexicals only apply to referentially-opaque readings of indexicals in the scope of attitude

متن کامل

Development and Usability Evaluation of an Online Tutorial for “How to Write a Proposal” for Medical Sciences Students

Background and Objective: Considering the importance of learning how to write a proposal for students, this study was performed to develop an online tutorial for “How to write a Proposal” for students and to evaluate its usability. Methods: This study is a developmental research and tool design. “Gamified Online Tutorial based on Self-Determination Theory (GOT-STD) Framework" became the basis f...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015